package com.pai4j.remote.user;

import com.pai4j.common.bean.PAIResponseBean;
import com.pai4j.domain.vo.request.AccountRelationAnalyticsRequestVO;
import com.pai4j.domain.vo.response.AccountRelationAnalyticsVO;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.*;

/**
 * 账号关系数据分析Feign客户端
 * 提供粉丝和关注数据的统计分析接口
 *
 * @author PAI4J
 */
@FeignClient(value = "pai4j-user-service", path = "/user-service/account-relation-analytics", contextId = "accountRelationAnalytics")
public interface AccountRelationAnalyticsClient {

    /**
     * 获取账号关系数据分析报告
     * 包含粉丝和关注的多维度统计数据
     *
     * @param request 分析请求参数
     *                - account: 用户账号（必填）
     *                - days: 统计天数（可选，默认7天，支持：7, 15, 30, 90）
     *                - includeCumulativeTrend: 是否包含累计趋势数据（可选，默认false）
     * @return 数据分析结果，包含：
     *         - 当前总粉丝数/关注数
     *         - 统计期间新增/取关/净增长数据
     *         - 增长率、日均新增等指标
     *         - 粉丝/关注趋势图表数据
     *         - 粉丝/关注比率分析
     */
    @PostMapping("/user-service/account-relation/analytics")
    PAIResponseBean<AccountRelationAnalyticsVO> getAnalytics(@RequestBody AccountRelationAnalyticsRequestVO request);

    /**
     * 快速获取账号关系数据分析（默认7天）
     * 适用于前端页面快速展示场景
     *
     * @param account 用户账号
     * @return 最近7天的数据分析结果
     */
    @GetMapping("/user-service/account-relation/analytics/quick/{account}")
    PAIResponseBean<AccountRelationAnalyticsVO> getQuickAnalytics(@PathVariable("account") String account);
}
